<?php
namespace app\examScore\controller;
use app\common\Base;
use app\common\Excel;
use think\Db;
//--有效率
class ExamYouxiaolvPrize extends Base {
	
	public function index() {
		$list = explode(",", "班级,班主任,指标类型,总分前人数,班级有效率,语文科任,语文科前人数,语文科与总都前人数,语文有效率,数学科任,数学科前人数,数学科与总都前人数,数学有效率,英语科任,英语科前人数,英语科与总都前人数,英语有效率,物理科任,物理科前人数,物理科与总都前人数,物理有效率,化学科任,化学科前人数,化学科与总都前人数,化学有效率,政治科任,政治科前人数,政治科与总都前人数,政治有效率,历史科任,历史科前人数,历史科与总都前人数,历史有效率");
		$this->assign('list',$list);
		return $this->fetch();
	}

	public function pageQuery() {
		$examId = input("examId");
		$type = input("type");
		$zbType = input("zbType");
		if(!$examId) return [];
		$page = input("page");
		$rows = input("rows");
		$sort = input("sort");
		$where["考试ID"] = $examId;
		$where["类别"] = $type;
		if($zbType) $where["指标类型"] = $zbType;
		$order = input("order");
		$orderby = "班级";
		if($sort) $orderby = $sort." ".$order;
		$result = Db::table("有效率")
				  ->field("班级,case when 指标类型 = 1 then '第一指标' when 指标类型 = 2 then '第二指标' else null end 指标类型,班主任,总分前人数,Cast(round(班级有效率,3) as nvarchar(20)) 班级有效率,语文科任,语文科前人数,语文科与总都前人数,Cast(round(语文有效率,3) as nvarchar(20)) 语文有效率,数学科任,数学科前人数,数学科与总都前人数,Cast(round(数学有效率,3) as nvarchar(20)) 数学有效率,英语科任,英语科前人数,英语科与总都前人数,Cast(round(英语有效率,3) as nvarchar(20)) 英语有效率,物理科任,物理科前人数,物理科与总都前人数,Cast(round(物理有效率,3) as nvarchar(20)) 物理有效率,化学科任,化学科前人数,化学科与总都前人数,Cast(round(化学有效率,3) as nvarchar(20)) 化学有效率,政治科任,政治科前人数,政治科与总都前人数,Cast(round(政治有效率,3) as nvarchar(20)) 政治有效率,历史科任,历史科前人数,历史科与总都前人数,Cast(round(历史有效率,3) as nvarchar(20)) 历史有效率")
				  ->where($where)
				  ->order($orderby)
				  ->page($page, $rows)
				  ->select();
		$count = Db::table("有效率")
				  ->where($where)
				  ->count();
		$grid["rows"] = selectResult($result);
		$grid["total"] = $count;
		return $grid;
	}

	public function exportExcel() {
		$examId = input("examId");
		$type = input("type");
		$zbType = input("zbType");
		$gradeId = input("gradeId");
		if(!$examId) return [];
		$where["考试ID"] = $examId;
		$where["类别"] = $type;
		if($zbType) $where["指标类型"] = $zbType;
		$result = Db::table("有效率")
				  ->field("班级,case when 指标类型 = 1 then '第一指标' when 指标类型 = 2 then '第二指标' else null end 指标类型,班主任,总分前人数,Cast(round(班级有效率,3) as nvarchar(20)) 班级有效率,语文科任,语文科前人数,语文科与总都前人数,Cast(round(语文有效率,3) as nvarchar(20)) 语文有效率,数学科任,数学科前人数,数学科与总都前人数,Cast(round(数学有效率,3) as nvarchar(20)) 数学有效率,英语科任,英语科前人数,英语科与总都前人数,Cast(round(英语有效率,3) as nvarchar(20)) 英语有效率,物理科任,物理科前人数,物理科与总都前人数,Cast(round(物理有效率,3) as nvarchar(20)) 物理有效率,化学科任,化学科前人数,化学科与总都前人数,Cast(round(化学有效率,3) as nvarchar(20)) 化学有效率,政治科任,政治科前人数,政治科与总都前人数,Cast(round(政治有效率,3) as nvarchar(20)) 政治有效率,历史科任,历史科前人数,历史科与总都前人数,Cast(round(历史有效率,3) as nvarchar(20)) 历史有效率")
				  ->where($where)
				  ->select();
		$result = selectResult($result);
		//excel表头内容
		$list = explode(",", "班级,班主任,指标类型,总分前人数,班级有效率,语文科任,语文科前人数,语文科与总都前人数,语文有效率,数学科任,数学科前人数,数学科与总都前人数,数学有效率,英语科任,英语科前人数,英语科与总都前人数,英语有效率,".(($gradeId==1) ? "" : "物理科任,物理科前人数,物理科与总都前人数,物理有效率,").(($gradeId>=3) ? "化学科任,化学科前人数,化学科与总都前人数,化学有效率," : "")."政治科任,政治科前人数,政治科与总都前人数,政治有效率,历史科任,历史科前人数,历史科与总都前人数,历史有效率");
		$header = [];
		foreach ($list as $key => $value){
			$header[$value] = $value;
		}
		Excel::toExcel($result,'有效率',$header);
		exit;
	}
}
